package com.ylyq.ylxx.model.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

/**
 * @ClassName RuleCustomAudienceRequest
 * @Description TODO
 * @Author xiaweichao
 * @Date 2020/7/13 16:21
 * @Version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "运算人群包的请求参数")
public class RuleCustomAudienceRequest {
    @ApiModelProperty(value = "广告主ID",required = true)
    private Long advertiser_id;
    @ApiModelProperty(value = "人群包标签，即人群分组，您可以自定义，用于给人群包打标签便于您分类管理。字符串长度取值范围: 1..25",required = true)
    private String tag;
    @ApiModelProperty(value = "人群包名称。字符串长度取值范围: 1..25",required = true)
    private String name;
    @ApiModelProperty(value = "DMP规则类型，详见【附录-DMP规则类型】",required = true)
    private String profile_type;
    @ApiModelProperty(value = "是否自动发布。0 表示不自动发布，1 表示自动发布。默认为 0。仅对精准广告有效",required = true)
    private Long is_publish_auto;
    @ApiModelProperty(value = "\tDMP规则描述，数组，对于精准广告类型，profiles 长度只能为 1",required = true)
    private Map[] profiles;

    @ApiModelProperty(value = "当profile_type=DPA时，必填。行为标签，对应 查询DPA可用类型 接口的code_id")
    private String behavior_code;
    @ApiModelProperty(value = "当profile_type=DPA时，必填。过去多少天")
    private String days;
    @ApiModelProperty(value = "当profile_type=DPA时，必填。商品库ID，对应 查询DPA商品库可用类型 接口的platform_id")
    private String dpa_id;
    @ApiModelProperty(value = "当profile_type=TRAVEL时，必填。旅游标签，详见【附录-DMP旅游标签】")
    private String travel_id;
    @ApiModelProperty(value = "当profile_type=ENGAGEMENT时，必填。主体类型。可选值：CUSTOMER（客户）、ADVERTISER（账户）、AD（广告计划）")
    private String subject;
    @ApiModelProperty(value = "当profile_type=ENGAGEMENT时，\t当主体类型是 AD 时必填。")
    private Long[] ad_ids;
    @ApiModelProperty(value = "当profile_type=ENGAGEMENT时，当主体类型是 ADVERTISER 时必填。")
    private Long[] advertiser_ids;
    @ApiModelProperty(value = "当profile_type=ENGAGEMENT时，必填。广告行为。可选值：CLICK（点击）、SHOW（展示）、CONVERT(转化)")
    private String action;
    @ApiModelProperty(value = "当profile_type=ENGAGEMENT时，必填。时间/次数是否自定义。0 不自定义，1 自定义。主体类型为 AD 时，只能填 1")
    private Long custom;
    @ApiModelProperty(value = "当profile_type=ENGAGEMENT时，开始时间。格式如“2019-08-07”")
    private String start_time;
    @ApiModelProperty(value = "当profile_type=ENGAGEMENT时，结束时间。格式如“2019-08-07")
    private String end_time;
    @ApiModelProperty(value = "当profile_type=ENGAGEMENT时，次数类型。GTE（大于等于）、LTE（小于等于）")
    private String frequency_type;
    @ApiModelProperty(value = "当profile_type=ENGAGEMENT时，\t次数。")
    private Long frequency_count;

}
